package com.winhxd.b2c.common.domain.product.vo;

import com.winhxd.b2c.common.domain.common.ApiCondition;
import com.winhxd.b2c.common.domain.product.model.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * ProductVO
 *
 * @Author 李中华
 * @Date 2019/1/7 19:32
 * @Description:
 */
@ApiModel("商品新增 或 编辑VO")
@Data
public class ProductVO extends ApiCondition implements Serializable {

    @ApiModelProperty("商品id")
    private Long spuId;

    @ApiModelProperty("品牌id")
    private Long brandId;

    @ApiModelProperty("品牌名称")
    private String brandName;

    @ApiModelProperty("品牌集合(目前只有原译一个品牌)")
    private List<ProductBrand> productBrandList;

    @ApiModelProperty("一级分类集合-初始化数据")
    private List<ProductCategory> productCategoryOneList;

    @ApiModelProperty("分类集合-一二级")
    private List<ProductCategoryGroupVO> productCategoryGroupList;

    @ApiModelProperty("商品货号")
    private String spuCode;

    @ApiModelProperty("商品名称")
    private String spuName;

    @ApiModelProperty("商品副标题")
    private String subheadName;

    @ApiModelProperty("商品初始销量")
    private Long initSalesVolume;

    @ApiModelProperty("商品市场价")
    private BigDecimal guidePrice;

    @ApiModelProperty("上架时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    private Date saleTime;

    @ApiModelProperty("商品服务")
    private List<ProductTag> productTagList;

    @ApiModelProperty("商品图片")
    private List<ProductSpuImage> productSpuImageList;

    @ApiModelProperty("商品视频,目前支持一个")
    private List<ProductSpuVideo> productSpuVideoList;

    @ApiModelProperty("商品规格")
    private List<ProductSpuVoice> productSpuVoiceList;

    @ApiModelProperty("sku集合")
    private List<ProductSku> productSkuList;

    @ApiModelProperty("商品属性集合，回显使用")
    private List<ProductAttributeVO> productAttributeList;

    @ApiModelProperty("商品详情图片")
    private List<ProductSpuDetailImage> productSpuDetailImageList;

    @ApiModelProperty("spu价格方案")
    private List<ProductPriceSpu> productPriceSpuList;

    @ApiModelProperty("sku价格方案")
    private List<ProductPriceSku> productPriceSkuList;

    @ApiModelProperty("当前用户")
    private String userName;

}
